At Qt6 build to Fedora CI (#1058)
authortsteven4 <13596209+tsteven4@users.noreply.github.com>
Fri, 31 Mar 2023 16:56:57 +0000 (10:56 -0600)
committerGitHub <noreply@github.com>
Fri, 31 Mar 2023 16:56:57 +0000 (10:56 -0600)
* add Qt6 build to fedora 37

fedora finally provides Qt6 QWebEngine.

* and library for Qt6 find_package.

this prevents a cmake generation warning about xkb.

.github/workflows/fedora.yml
tools/Dockerfile_f37

index 555e042edf5615c04e6d1226a04a18cf9ae6fbf2..1e696484e5a085080dfba76d4e7c4c89378dce73 100644 (file)
@@ -14,11 +14,20 @@ jobs:
       fail-fast: false
       matrix:
         # version 32, though obsolete, uses Qt 5.14 so we keep it for that.
-        version: ['32', '35', '37']
+        include:
+          - IMAGE: '32'
+            CMAKE_PREFIX_PATH: '/usr/lib64/cmake/Qt5'
+          - IMAGE: '35'
+            CMAKE_PREFIX_PATH: '/usr/lib64/cmake/Qt5'
+          - IMAGE: '37'
+            CMAKE_PREFIX_PATH: '/usr/lib64/cmake/Qt5'
+          - IMAGE: '37'
+            CMAKE_PREFIX_PATH: '/usr/lib64/cmake/Qt6'
     container:
-      image: gpsbabel-docker.jfrog.io/tsteven4/gpsbabel_build_environment_f${{ matrix.version }}
+      image: gpsbabel-docker.jfrog.io/tsteven4/gpsbabel_build_environment_f${{ matrix.IMAGE }}
       env:
-        LC_ALL: C.UTF-8
+        LC_ALL: 'C.UTF-8'
+        JOB_CMAKE_PREFIX_PATH: ${{ matrix.CMAKE_PREFIX_PATH }}
 
     steps:
     - name: Checkout repository
@@ -28,4 +37,8 @@ jobs:
       run: |
         # when using containers manually whitelist the checkout directory to allow git commands to work
         git config --global --add safe.directory "${GITHUB_WORKSPACE}"
+        if [ -n "${JOB_CMAKE_PREFIX_PATH}" ]; then
+          CMAKE_PREFIX_PATH="${JOB_CMAKE_PREFIX_PATH}"
+          export CMAKE_PREFIX_PATH
+        fi
         ./tools/build_and_test_cmake.sh
index dc90f8ccfe1ad3acd867502f09687ef901cd909c..426f2e5a2f86e97555de4ccc7ce71ab08e7c473d 100644 (file)
@@ -15,8 +15,8 @@ RUN dnf install --assumeyes libusb1-devel zlib-devel shapelib-devel && \
 # Qt used by gpsbabel, gpsbabelfe
 RUN dnf install --assumeyes qt5-qtbase-devel qt5-qtserialport-devel qt5-qtwebengine-devel qt5-linguist qt5-qttranslations && \
     dnf clean all
+RUN dnf install --assumeyes qt6-qtbase-devel qt6-qtserialport-devel qt6-qtwebengine-devel qt6-linguist qt6-qttranslations qt6-qt5compat-devel qt6-qttools-devel libxkbcommon-devel && \
+    dnf clean all
 # tools to build the docs
 RUN dnf install --assumeyes expat desktop-file-utils libxslt docbook-style-xsl fop docbook5-style-xsl docbook5-schemas && \
     dnf clean all
-# create a link as fedora uses the name qmake-qt5 for Qt5's qmake.
-RUN alternatives --install /usr/bin/qmake qt /usr/lib64/qt5/bin/qmake 100